#!/bin/bash

# 智能装修设计系统部署脚本

set -e

echo "🏠 智能装修设计系统部署脚本"
echo "=================================="

# 检查Python版本
echo "🔍 检查Python版本..."
python_version=$(python3 --version 2>&1 | cut -d' ' -f2 | cut -d'.' -f1,2)
required_version="3.8"

if [ "$(printf '%s\n' "$required_version" "$python_version" | sort -V | head -n1)" = "$required_version" ]; then
    echo "✅ Python版本: $python_version"
else
    echo "❌ 需要Python 3.8或更高版本，当前版本: $python_version"
    exit 1
fi

# 检查Node.js
echo "🔍 检查Node.js..."
if command -v node &> /dev/null; then
    node_version=$(node --version)
    echo "✅ Node.js版本: $node_version"
else
    echo "⚠️  未找到Node.js，将跳过前端构建"
fi

# 创建虚拟环境
echo "🔧 创建虚拟环境..."
if [ ! -d "venv" ]; then
    python3 -m venv venv
    echo "✅ 虚拟环境创建完成"
else
    echo "✅ 虚拟环境已存在"
fi

# 激活虚拟环境
echo "🔧 激活虚拟环境..."
source venv/bin/activate

# 升级pip
echo "📦 升级pip..."
pip install --upgrade pip

# 安装Python依赖
echo "📦 安装Python依赖..."
pip install -r requirements.txt

# 创建必要目录
echo "📁 创建必要目录..."
mkdir -p uploads logs app/static app/templates

# 检查环境配置文件
echo "🔧 检查环境配置..."
if [ ! -f ".env" ]; then
    echo "⚠️  未找到.env文件，正在创建..."
    cat > .env << EOF
# Flask配置
FLASK_ENV=production
FLASK_DEBUG=False
SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_hex(32))')

# OSS配置 - 请替换为您的实际配置
OSS_ENDPOINT=https://oss-cn-shenzhen.aliyuncs.com
OSS_ACCESS_KEY_ID=your-access-key-id
OSS_ACCESS_KEY_SECRET=your-access-key-secret
OSS_BUCKET_NAME=your-bucket-name

# Coze API配置 - 请替换为您的实际配置
COZE_PERSONAL_ACCESS_TOKEN=your-coze-token
COZE_WORKFLOW_ID=your-workflow-id

# 数据库配置
DATABASE_URL=sqlite:///decoration_app.db
EOF
    echo "✅ 已创建.env文件，请编辑其中的配置参数"
else
    echo "✅ 找到.env配置文件"
fi

# 构建前端
if command -v node &> /dev/null && [ -d "frontend" ]; then
    echo "🎨 构建前端应用..."
    cd frontend
    
    # 安装前端依赖
    echo "📦 安装前端依赖..."
    npm install
    
    # 构建前端
    echo "🔨 构建前端应用..."
    npm run build
    
    cd ..
    echo "✅ 前端构建完成"
else
    echo "⚠️  跳过前端构建"
fi

# 初始化数据库
echo "🗄️ 初始化数据库..."
export FLASK_APP=run.py
python run.py init-db

echo "=================================="
echo "🎉 部署完成!"
echo ""
echo "📋 下一步:"
echo "1. 编辑 .env 文件，配置OSS和Coze API参数"
echo "2. 运行 'python start.py' 启动应用"
echo "3. 访问 http://localhost:5000 查看应用"
echo ""
echo "💡 提示:"
echo "- 生产环境请修改SECRET_KEY"
echo "- 确保已配置OSS和Coze API的相关参数"
echo "=================================="
